
package com.svh.Servicios;

import com.svh.Dao.Impl.ProductoDaoImpl;
import com.svh.Dao.ProductoDao;
import com.svh.Entidad.Producto;
import com.svh.Hibernate.HibernateConexion;
import com.svh.Utils.IConexion;
import com.svh.Utils.Utilitario;

/**
 *
 * @author Luis Alonso Ballena Garcia
 */
public class ProductoServicio {
    IConexion conexion;
    ProductoDao<Producto> daoProducto;

    public ProductoServicio() {
        conexion = new HibernateConexion();
        daoProducto = new ProductoDaoImpl(conexion);
    }
    
    
    public void registrarProducto(Producto producto)
    {
        conexion.beginTransaccion();
        daoProducto.agregar(producto);
        Utilitario.enviarMensajeGlobalValido("Se ha registrado correctamente");
        conexion.closeTransaccion();
    }
    
    public Producto obtenerProducto(Integer id)
    {
        conexion.beginConexion();
        Producto producto = daoProducto.buscarPorId(Producto.class, id);
        conexion.closeConexion();
        return producto;
    }
    
    public void actualizarProducto(Producto producto)
    {
        conexion.beginTransaccion();
        daoProducto.actualizar(producto);
        conexion.closeTransaccion();
        Utilitario.enviarMensajeGlobalValido("Se ha actualizado correctamente");
    }
    
    
}
